<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>

<body>
  <script>
    // Promise 基本语法

    // 1.许下诺言 ==> 实例化promise promise 是构造函数 加new
    //              参数是个函数 这里封装书写异步代码
    const p = new Promise(function (resolve, reject) {
      // 在 new Promise 实例化的时候 该函数就会立即执行
      console.log('许下诺言，年薪百万');

      // Promise 内部提供了 resolve reject 这两个形参 (本质是函数)
      // resolve('年薪百万') //resolve 函数一调用 就会把Promise 状态变成成功 pending ==>fulfilled 
      reject('年薪五十') //reject 函数一调用 就会把Promise 状态变成失败 pending ==> rejected

    })
    console.log(p);

    // 2.获取诺言的结果 ==> promise 实例化对象的方法 （ then , catch）
    p
      .then((res) => {
        // 成功调用
        console.log(res);
      })

      .catch((res) => {
        // 失败调用
        console.log(res);
      })
  </script>
</body>

</html>